package org.example.demo3.demos.web.VmsTransactionFlowInvoice.domain;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.example.demo3.demos.web.annotation.Translate;
import org.example.demo3.demos.web.constants.DictConstant;
import org.example.demo3.demos.web.constants.TranslateConstant;

import java.math.BigDecimal;
import java.util.Date;

/**
 * vms合并流水查询返回的vo
 *
 * @author cdl
 * @date 2024/06/26
 */
@ApiModel(value = "交易流水开票-合并流水查询")
@Data
public class VmsMergeQueryVo {
    // swagger 展示的是value，不是notes

    /**
     * 交易流水开票rdid
     */
    @ApiModelProperty(value = "主键", notes = "主键2")
    public String rdid;

    /**
     * 业务编号
     */
    @ApiModelProperty(value = "第二张表的业务编号",notes =  "第二张表的业务编号")
    public String ywbh;

    /**
     * 获票人名称
     */
    @ApiModelProperty(value = "第一张表的交易客户，但是不是获票人名称，开始开方户名？")
    public String kfhm;

    /**
     * 是否个人业务
     */
    @ApiModelProperty(value = "是否个人业务")
    public  String isgryw;
    /**
     * 是否首期业务
     */
    @ApiModelProperty(value = "是否首期业务")
    public  String issqyw;
    /**
     * 交易日期
     */
    @ApiModelProperty(value = "第一张表-交易日期")
    @Translate(type = TranslateConstant.DATE) // 这个属性需要了解
    public  String jyrq;
    /**
     * 交易金额(含税)
     */
    @ApiModelProperty(value = "第一张表-交易金额")
    public  BigDecimal jyje;

    /**
     * 交易金额(不含税)
     */
    @ApiModelProperty(value = "第一张表-交易金额(不含税）")
    public  BigDecimal bhsje;
    /**
     * 税率
     */
    @ApiModelProperty(value = "第一张表-交易金额(不含税）")
    @JsonSerialize(using = ToStringSerializer.class) // 是对金额进行统一序列化吗
    public  BigDecimal sysl;
    /**
     * 税额
     */
    @ApiModelProperty(value = "税额", notes = "税额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal xxse;

    /**
     * 未开票金额
     */
    @ApiModelProperty(value = "未开票金额", notes = "未开票金额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal wkpje;

    /**
     * 险种代码
     */
    @ApiModelProperty(value = "第二张表-险种代码", notes = "第二张表2-险种代码")
    private String xzdm;

    /**
     * 险种简称
     */
    @ApiModelProperty(value = "险种简称2", notes = "险种简称22")
    private String xzjc;

    /**
     * 险种全称
     */
    @ApiModelProperty(value = "险种全称2", notes = "险种全称22")
    private String xzqc;

    /**
     * 投保单号
     */
    @ApiModelProperty(value = "投保单号2", notes = "投保单号22")
    private String tbdh;

    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型2", notes = "证件类2型")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VAT_8002) // 自定义注解,类型是字典, 值是字典的里的8002.  这怎么理解呢
    private String zjlx;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码2", notes = "证件号码2")
    private String zjhm;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号2", notes = "手机号22")
    private String sjh;

    /**
     * 电子邮箱
     */
    @ApiModelProperty(value = "电子邮箱2", notes = "电子邮箱2")
    private String dzyx;

}
